package com.situ.mall.admin.controller;


import com.situ.mall.admin.entity.User;
import com.situ.mall.admin.service.IUserService;
import com.situ.mall.common.vo.TableVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author JavaWizard
 * @since 2023-09-11
 */
@Controller
@RequestMapping("/admin")
public class UserController {

    //IOC控制反转 由spring容器控制new哪个对象
    //依赖注入：依赖于加了@Service注解的UserService类
    @Autowired
    private IUserService userService;

    //打开用户管理页面
    @GetMapping("/user/page")
    public String page(){
        return "user";
    }

    //查询用户表格
    @GetMapping("/user/table")
    @ResponseBody
    public TableVO table(Integer page, Integer limit, String username, String phoneNumber){
        return userService.table(page,limit,username,phoneNumber);
    }

    //保存
    @PostMapping("/user/save")
    @ResponseBody
    public void save(User user){
        userService.saveUser(user);
    }

    //删除
    @PostMapping("/user/delete/{userId}")
    @ResponseBody
    public void delete(@PathVariable("userId")Integer id){
        userService.delete(id);
    }

    //编辑——根据ID查询该行数据带到前台
    @GetMapping("/user/selectById/{id}")
    @ResponseBody
    public User selectById(@PathVariable Integer id) {
        return userService.selectById(id);
    }

}
